package com.easycoding.ums.system.bo;

import java.util.List;

import com.easycoding.framework.bo.BaseBo;
import com.easycoding.framework.util.Tool;
import com.easycoding.ums.system.entity.Permission;
import com.easycoding.ums.system.entity.Role;
import com.easycoding.ums.system.entity.User;

public class UserTicket extends BaseBo {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -189216517420013393L;

	/**
	 * 用户信息
	 */
	private User user;
	
	/**
	 * 角色
	 */
	private List<Role> roles;
	
	/**
	 * 权限
	 */
	private List<Permission>  permissions;
	
	/**
	 * 获取用户信息
	 * @return user 用户信息
	 */
	public User getUser() {
		return user;
	}

	/**
	 * 设置用户信息
	 * @param user 用户信息
	 */
	public void setUser(User user) {
		this.user = user;
	}

	/**
	 * 获取角色
	 * @return roles 角色
	 */
	public List<Role> getRoles() {
		return roles;
	}

	/**
	 * 设置角色
	 * @param roles 角色
	 */
	public void setRoles(List<Role> roles) {
		this.roles = roles;
	}

	/**
	 * 获取权限
	 * @return permissions 权限
	 */
	public List<Permission> getPermissions() {
		return permissions;
	}

	/**
	 * 设置权限
	 * @param permissions 权限
	 */
	public void setPermissions(List<Permission> permissions) {
		this.permissions = permissions;
	}

	/**
	 * 判断用户是否具有资源的访问权限
	 * @param user_identity
	 * @return
	 */
	public boolean hasWebResource(String user_identity) {
		if (user_identity == null || user_identity.equals(""))
			return false;
		if(this.permissions != null && !this.permissions.isEmpty()){
			for(Permission permission : permissions){
				if(permission != null && permission.getEname() != null && 
					Tool.compareResource( permission.getEname(), user_identity))
					return true;
			}
		}
		return false;
	}
	
}
